import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'

Vue.use(Vuex)
const modulesFiles = import.meta.glob('./modules/**/*.js', { eager: true })
const modules = Object.keys(modulesFiles).reduce((modules, modulePath) => {
    const moduleName = modulePath.substring(10, modulePath.lastIndexOf('/'))
    const value = modulesFiles[modulePath]
    modules[moduleName] = value.default
    return modules
}, {})

const store = new Vuex.Store({
    modules,
    getters
})

export default store